clc;clear;
% 定义迭代次数
wrdLn = 15;

% 初始化角度、正切值、余弦值和伸缩因子的数组
angles_deg = zeros(1, wrdLn);
tangents = zeros(1, wrdLn);
cosines = zeros(1, wrdLn);
Kn = ones(1, wrdLn);
two_exp_n = zeros(1, wrdLn);

% 计算并存储角度、正切值和余弦值
for iter = 0:(wrdLn - 1)
    % 计算角度（弧度）
    angle_rad = atan(2^(-iter));
    % 将角度转换为度
    angles_deg(iter + 1) = rad2deg(angle_rad);
    % 计算正切值
    tangents(iter + 1) = tan(angle_rad);
    % 计算余弦值
    cosines(iter + 1) = cos(angle_rad);
    % 计算伸缩因子
    if iter==0
        Kn(iter + 1) = cos(angle_rad);
    else 
        Kn(iter + 1) = Kn(iter)*cos(angle_rad);
    end

    two_exp_n(iter + 1) = uint16(floor(2^(-iter)*10000.0));
end

% 打印结果
disp('N     角度             正切值             余弦值         伸缩因子Kn');
for iter = 1:wrdLn
    fprintf('%d\t%-14.4f\t%.10f\t%.10f\t%.10f\n', iter - 1, angles_deg(iter), tangents(iter),cosines(iter), Kn(iter));
end
